public member function
<ios> <iostream>

std::ios::operator bool

operator void*() const;
explicit operator bool() const;
求值流
返回是否设置了错误标志(failbitbadbit)。

请注意,此函数返回的值与成员函数 good 的返回值不同,而是与成员函数 fail 的返回值相反。


如果至少设置了其中一个错误标志,则函数返回空指针,否则返回其他值。
如果至少设置了其中一个错误标志,则函数返回 false,否则返回 true

参数



返回值

如果设置了 failbitbadbit 中的至少一个,则返回空指针。否则返回其他值。
如果 failbitbadbit 均未设置,则返回 true
否则返回 false

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// evaluating a stream
#include <iostream>     // std::cerr
#include <fstream>      // std::ifstream

int main () {
  std::ifstream is;
  is.open ("test.txt");
  if (is) {
    // read file
  }
  else {
    std::cerr << "Error opening 'test.txt'\n";
  }
  return 0;
}

数据竞争

访问流对象。
并发访问同一个流对象可能导致数据争用。

异常安全

强保证: 如果抛出异常,流不会发生任何改变。

另见